package com.devplatform.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.devplatform.pojo.Fans;
import com.devplatform.pojo.dto.FollowDto;
import com.devplatform.pojo.vo.DataVo;

/**
 * @author Jnks03
 * @description 针对表【fans】的数据库操作Service
 * @createDate 2025-09-30 16:23:36
 */
public interface FansService extends IService<Fans> {
    //关注状态
    DataVo toggleFollow(Long fansId, FollowDto followDto);

    //关注数
    DataVo getFansCount(Long userId);

    //查询关注列表
    DataVo getFansList(IPage<Fans> fansIPage, Long userId);

    //获取关注列表
    DataVo getFollowingList(IPage<Fans> fansIPage, Long userId);

    //统计粉丝数据
    DataVo getFansStatistics(Long userId);

    //
    DataVo getFansAnalysis(Long userId);

    //是否已经关注
    boolean isFollowing(Long fansId, Long authorId);

    //搜索
    DataVo searchFans(IPage<Fans> fansIPage, Long userId, String keyword);

    DataVo searchFollowing(IPage<Fans> fansIPage, Long userId, String keyword);

}
